/**
 * index.js - 主程序入口
 * 包含页面初始化和事件绑定
 * 依赖于:
 * - utilities.js: 通用工具函数
 * - ui-utils.js: UI交互组件
 * - file-list.js: 文件列表处理
 * - file-operations.js: 文件操作功能
 */

$(document).ready(function() {
    logDebug('页面加载完成，初始化功能');
    
    // 初始化文件列表
    fileManager.loadFiles();
    
    // 添加详情按钮点击事件
    $(document).on('click', '.file-details-btn', function() {
        const fileName = $(this).data('filename');
        showFileDetails(fileName);
    });
    
    // 添加从详情页下载按钮点击事件
    $(document).on('click', '.download-from-details-btn', function() {
        const fileName = $('#fileDetailsName').text();
        downloadFile(fileName);
        $('#fileDetailsModal').modal('hide');
    });
    
    // 添加重命名按钮点击事件
    $(document).on('click', '.rename-file-btn', function() {
        const fileName = $('#fileDetailsName').text();
        $('#fileDetailsModal').modal('hide');
        showRenameDialog(fileName);
    });
    
    // 添加共享按钮点击事件
    $(document).on('click', '.share-file-btn', function() {
        const fileName = $('#fileDetailsName').text();
        $('#fileDetailsModal').modal('hide');
        showShareDialog(fileName);
    });
    
    // 添加文件列表中的重命名按钮点击事件
    $(document).on('click', '.rename-btn', function() {
        const fileName = $(this).data('filename');
        showRenameDialog(fileName);
    });
    
    // 添加文件列表中的共享按钮点击事件
    $(document).on('click', '.share-btn', function() {
        const fileName = $(this).data('filename');
        showShareDialog(fileName);
    });
    
    // 添加下载按钮点击事件
    $(document).on('click', '.download-btn', function() {
        const fileName = $(this).data('filename');
        confirmDownload(fileName);
    });
    
    // 添加删除按钮点击事件
    $(document).on('click', '.delete-btn', function() {
        const fileName = $(this).data('filename');
        confirmDelete(fileName);
    });
    
    // 绑定搜索按钮
    $('#fileSearchBtn').on('click', function() {
        filterFiles();
    });
    
    // 绑定搜索输入框的回车事件
    $('#fileSearchInput').on('keypress', function(e) {
        if (e.which === 13) {
            filterFiles();
        }
    });
    
    // 绑定排序下拉框变更事件
    $('#sortOrder').on('change', function() {
        sortFiles();
    });
    
    // 拖拽上传
    const uploadArea = document.querySelector('.upload-area');
    if (uploadArea) {
        uploadArea.addEventListener('dragover', function(e) {
            e.preventDefault();
            e.stopPropagation();
            this.classList.add('dragover');
            logDebug('文件拖拽中');
        });
        
        uploadArea.addEventListener('dragleave', function(e) {
            e.preventDefault();
            e.stopPropagation();
            this.classList.remove('dragover');
            logDebug('文件拖拽离开');
        });
        
        uploadArea.addEventListener('drop', function(e) {
            e.preventDefault();
            e.stopPropagation();
            this.classList.remove('dragover');
            logDebug('文件已拖放');
            
            const dt = e.dataTransfer;
            const files = dt.files;
            
            if (files.length > 0) {
                logDebug(`拖放的文件数量: ${files.length}`);
                uploadFiles(files);
            }
        });
    }
    
    // 文件选择后上传
    $('#fileInput').on('change', function() {
        const files = this.files;
        if (files.length > 0) {
            logDebug(`选择了 ${files.length} 个文件`);
            uploadFiles(files);
        }
    });
});  
